/* define exit codes */int NORMAL= 0;int TIMEOUT= 1;int EARLY= 2;/* sample timing parameters */long TOO_LONG= 4000L;long TOO_SHORT= 1500L;int follow_edge_to_wall()  {    long start= mseconds();  long timeout= start + TOO_LONG;  while (1)  {    if (left_eye() == 0) veer_left();    else if (right_eye() == 1) veer_right();    else forward();    if (left_touch() || right_touch())      if (mseconds() < (start + TOO_SHORT))        return EARLY;      else return NORMAL;    if (mseconds() > timeout) return TIMEOUT;  }}